package juswaypay

import "time"

// 通用响应结构
type Response struct {
	Code    int         `json:"code"`
	Message string      `json:"message"`
	Data    interface{} `json:"data"`
}

// 错误码定义
const (
	CodeSuccess = 0
	// TODO: 添加其他错误码
)

// Config 聚实汇配置
type Config struct {
	Username       string `json:"username" yaml:"username"`                 // 用户名
	Password       string `json:"password" yaml:"password"`                 // 密码
	TwoPassword    string `json:"two_password" yaml:"two_password"`         // 二级密码
	GatewayURL     string `json:"gateway_url" yaml:"gateway_url"`           // 网关地址
	Timeout        int    `json:"timeout" yaml:"timeout"`                   // 超时时间（秒）
	RefreshTime    int    `json:"refresh_time" yaml:"refresh_time"`         // 刷新时间（秒）
	MinRefreshTime int    `json:"min_refresh_time" yaml:"min_refresh_time"` // 最小刷新间隔（秒）
}

// LoginResponse 登录响应
type LoginResponse struct {
	Ret    bool `json:"ret"`
	Status int  `json:"status"`
	Data   struct {
		AccessToken string `json:"access_token"`
		TokenType   string `json:"token_type"`
		ExpiresIn   int    `json:"expires_in"`
	} `json:"data"`
}

// Transaction 交易记录
type Transaction struct {
	ID          string    `json:"id"`
	Amount      float64   `json:"amount"`
	Currency    string    `json:"currency"`
	Type        string    `json:"type"`
	Status      string    `json:"status"`
	Description string    `json:"description"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}
